"""

面向对象：
多态：不同子类调用相同方法产生不同效果
类属性与类方法：
类属性直接写在类名下面  通过类名访问
类方法：cls是代表类名 @classmethod  访问类属性
静态方法：
@staticmethod修饰
方法类不会访问类属性和类方法，一些帮助说明
单例模式：
使用场景---音乐播放器，回收站
是什么---对同一个类多次实例化后得到的是相同的对象，他们地址是一致的
如何实现---采用类属性 instance ，重写_new_方法，如果cls.instance是空
，则通过super().__new__()为对象申请空间，返回值赋值给cls.instance，
第二次进行实例化对象时，cls.instance不为空，直接返回
异常：
程序执行到某个位置出错，python解释器会抛出异常
捕获异常---try，except，else
异常类型---不区分：except Exception as e
区分except ‘错误名’
没有发生异常、
异常的传递：子函数发生异常，异常抛到上一级，直到遇到try
自定义异常---raise Exception（‘我的异常’）
assert 表达式若为假则走到异常，若为真则不会


模块使用：
自定义模块名不要和系统重名，有先搜索当前目录模块
包：有一个__init__.py。控制了对外可见的模块


文件操作：
file = open('文件名'，mode=‘r’)  各种打开的模式
读写：file.read(),file.write(),file.readline(),file.close()
file.seek():偏移位置指针（3，os.SEEK_SET）
二进制模式与文本模式的区别：
二进制模式返回字节流。
文本模式返回字符串

"""